Build an Asteroid Radar App

RecyclerView

Criteria Meet Specification

Create and reuse views in an Android app using RecyclerView

The app displays a list of asteroids in the Main Screen by using a RecyclerView, when tapping an item the app opens Details screen.

Network

Criteria Meet Specification

Build an application that connects to an internet server to retrieve and display live data

The asteroids displayed in the screens are downloaded from the NASA API

Use networking and image best practices to fetch data and images

The NASA image of the day is displayed in the Main Screen

Database and Caching

Criteria Meet Specification

Create a database to store and access user data over time

The app can save the downloaded asteroids in the database and then display them also from the database. The app filters asteroids from the past

Implement offline caching to allow users to interact with online content offline

The app downloads the next 7 days asteroids and saves them in the database once a day using workManager with requirements of internet connection and device plugged in. The app can display saved asteroids from the database even if internet connection is not available

Accessibility

Criteria Meet Specification

Add talkback and push-button navigation to make an Android app accessible

The app works correctly in talk back mode, it provides descriptions for all the texts and images: Asteroid images in details screen and image of the day. It also provides description for the details screen help button

Tips to make your project standout:

  1. Modify the app to support multiple languages, device sizes and orientations.
  2. Make the app delete asteroids before today once a day from the same workManager that downloads the asteroids.
  3. Provide styles for the details screen subtitles and values to make it consistent, and make it look like in the designs.